#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/module.h>

#include <linux/device.h>

extern struct bus_type vbus;

// 定义了一个代表驱动的vdrv对象
static struct device_driver vdrv = {
    .name = "vdrv",  // 驱动名称
    .bus = &vbus,  // 所属总线，这样注册这个驱动时，就会将之注册在vbus总线下
};

static int __init vdrv_init(void)
{
    return driver_register(&vdrv);  // 驱动的注册
}

static void __exit vdrv_exit(void)
{
    driver_unregister(&vdrv);  // 驱动的注销
}

module_init(vdrv_init);
module_exit(vdrv_exit);

MODULE_LICENSE("GPL");
MODULE_AUTHOR("KDY <chaoxi_todo@qq.com>");
MODULE_DESCRIPTION("A simple module");
MODULE_ALIAS("virtual-serial");